package com.atguigu.cloud.user.client.fallback;

import com.atguigu.cloud.user.client.UserClient;
import com.atguigu.cloud.user.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
@Slf4j
public class UserClientFallback implements UserClient {
    //实现的每一个方法就是一个降级方法
    //降级方法： UserClient远程调用异常时，sentinel会自动使用降级方法处理
    @Override
    public User findById(Long userId) {
        log.error("远程查询userId={}的用户信息失败" ,userId);
        User user = new User();
        user.setUserName("未知用户");
        user.setId(-1L);
        return user;
    }

    @Override
    public String test1(String username, String password) {
        return null;
    }

    @Override
    public String test2(User user) {
        return null;
    }

    @Override
    public String test3(Map user) {
        return null;
    }

    @Override
    public String test4(List<Long> ids) {
        return null;
    }

    @Override
    public String test5(User user) {
        return null;
    }

    @Override
    public String test6(String token) {
        return null;
    }
}